#include "dif1c1.h"



void DIF__vAltitudeCalculation(void)
{

	DIF__tstAltitudeDpoolData stDIFAltitudeDpool;
    // Dpool_enGetPoolData(DPOOL_nDataDIF_stAltitudeDpoolData, &stAltitudeDpool);

    //此处以下
    uint8 u8Sign = SYN__u8HeiLvlSign();// 获取当前信号值
    uint16 u16HeiLvl = SYN__u16HeiLvl();

    // 处理无效值（0x1FFF）
    if (u16HeiLvl >= 0x0000 && u16HeiLvl <= 0x1FFF)
    {


        if (u16HeiLvl == 0x1FFF || u16HeiLvl > 0x03E7 && u8Sign == 0x1)
        {
            ;   // 使用最后一次有效值,不用修改
        }
        else
        {

            if (u16HeiLvl == 0x0000) {
                stDIFAltitudeDpool.DIF_u8AltitudeSign = 0x0000;
                stDIFAltitudeDpool.DIF_u16AltitudeValue = 0x0;
            }
            else // 处理有效值
            {
                stDIFAltitudeDpool.DIF_u8AltitudeSign = u8Sign;
                stDIFAltitudeDpool.DIF_u16AltitudeValue = u16HeiLvl;
            }



        }
    }
    else
    {
        ;
    }
    //此处以上
    //固定单位
    //stDIFAltitudeDpool.DIF_u8AltitudeUnit = DIF_u8ALtitudeUnitMeter;
    //更新最后一次有效值
    // Dpool_enSetPoolData(DPOOL_nDataDIF_stAltitudeDpoolData, &stAltitudeDpool);



}